The invention relates generally to the transmission of multicast media between networks.
Extensive technological advances in microelectronics and digital computing systems have enabled digitization of a wide range of types of information, including digital representations of text, graphics, still images, as well as audio and video.
Additionally, as use of networks such as the Internet has proliferated, the desire to be able to transfer multimedia presentations over the Internet has increased. It also is desirable to accommodate multimedia data streams such as audio, video and animation, as well as other types of continuous, time-based media data. In this context, a xe2x80x9cstreamxe2x80x9d represents a dynamic data type and includes dynamic information that is produced and consumed in a computer system or network with temporal predictability. Examples of such uses of multimedia include real-time interactive applications, such as desktop video and audio conferencing, collaborative engineering, shared white boards, transmission of university lectures, and many others.
Unfortunately, the Hypertext Transfer Protocol (HTTP) that is used for transferring web pages over the Internet is not well-suited for use in multimedia presentations of stream data because it is based on the Transmission Control Protocol (TCP). Among other features, TCP enforces reliability without regard for time-lines.
A multicast transmission, in contrast to a unicast transmission, is one in which information is transmitted to a group of recipients by a single transmission from a source. Multicast transmissions are often desirable because they are routed only to destinations that are actively interested in the particular multicast service. Unlike unicast transmissions (see FIG. 1), a multicast transmission does not require a separate dedicated feed for each user that requests the data stream. Similarly, unlike broadcast transmissions, multicast transmissions do not require all recipient hosts to perform some processing to determine whether or not they are interested in the transmitted data.
The Real-Time Streaming Protocol (RTSP), a client-server multimedia presentation protocol, was developed to address the needs for efficient delivery of streamed multimedia over Internet Protocol (IP) networks. The RTSP makes use of existing web infrastructures and controls on-demand delivery of data, such as audio and video, having real-time properties.
Although the Internet as a whole is not multicast-enabled, multicast-enabled subnet islands have been connected together to form the Multicast Backbone (Mbone), a virtual network layered on the physical Internet to support routing of IP multicast packets. In a virtual network, tunnels encapsulate IP multicast packets within the TCP and send them point-to-point to the end of the tunnel where the multicast packet is de-encapsulated. Thus, tunneling of multicast packets through the Internet can be used to extend public or private multicast networks.
For example, Internet tunneling can be used to tie together multicast-enabled networks. In FIG. 2, networks 10, 12 are connected to multicast-enabled routers 14. Other networks 16, 18 and the remaining routers 20 in the system are not multicast-enabled. To allow multicast transmissions between the networks 10, 12, a virtual network (indicated by the dotted lines in FIG. 2) layered on the physical network is provided to support routing of IP multicast packets.
The present inventors have recognized that the Mbone has a number of limitations, particularly with respect to its ability to deliver streaming data to mass audiences. The tools and protocols used by the Mbone inherently limit that network""s ability to scale to large numbers of users and networks. Therefore, the Mbone had not been able to take advantage of the high bandwidth capacity of networks like the Internet.
In general, according to one aspect, a multicast media system includes a network access facility that directly peers a second multicast-enabled network to a first multicast-enabled network. The network access facility is configured to multicast a requested time-based data stream from the first multicast-enabled network to a terminal in the second multicast-enabled network that requests receipt of the multicast data stream.
According to another aspect, a multicast media system includes a first multicast-enabled network including a source of time-based data streams, and a second multicast-enabled network including at least one terminal that can request receipt of a time-based data stream. The system further includes a network access facility that directly peers the second multicast-enabled network to the first multicast-enabled network, and which is configured to multicast a requested time-based data stream from the first multicast-enabled network to at least one terminal in the second multicast-enabled network that requests receipt of the data stream.
Various implementations of the multicast system include one or more of the following features. The network access facility can be configured to construct a tree of multicast-enabled gateways to establish a path over which the requested data stream will be sent to the terminal in the second multicast-enabled network. The network access facility can be configured to construct the multicast tree in response to a request by a user at the terminal to receive the data stream. In some implementations, the network access facility is configured to construct the multicast tree by starting from a gateway at an upstream end of the path near the terminal and moving toward the second multicast-enabled network. The network access facility can include multiple gateways that collectively form the multicast tree. During construction of the multicast tree, at least some of the gateways may attempt to join a group of gateways already actively receiving the requested data stream. The gateways can include, for example, routers and/or switches.
The first multicast-enabled network can be a multimedia aggregation and distribution network. In various implementations, the requested time-based data stream can include video, audio, or other data stream types.
According to another aspect, a method of providing a time-based media transmission from a first multicast-enabled network to a second multicast-enabled network includes establishing a multicast-enabled network access facility between the first and second multicast networks. The network access facility provides direct peering between the first and second multicast-enabled networks, and is configured to multicast a requested time-based data stream from the first multicast-enabled network to a terminal in the second multicast-enabled network that requests receipt of the data stream.
In yet another aspect, a method of delivering a time-based data stream includes establishing a multicast tree using multiple multicast-enabled gateways from a first multicast-enabled network serving as a source of time-based streaming data to a terminal in a directly peered second multicast-enabled network. The streaming data is multicast to the terminal in the directly peered second multicast-enabled network via the tree of multicast-enabled gateways.
In some implementations, the method includes receiving a request for receipt of the time-based data stream from the terminal in the second multicast-enabled network. The multicast tree can be constructed in response to the request to receive the data stream. The method can include sending a request from one multicast-enabled gateway to another multicast-enabled gateway to join a group of gateways already actively receiving the requested multicast data stream.
Various embodiments may include one or more of the following advantages. The digital media aggregation and distribution network and network access facility described above are designed to deliver streaming data to mass audiences. Unlike the Multicast Backbone which uses a virtual network layered on the Internet to support routing of IP multicast packets, systems and techniques described here provide a physical multicast-enabled network access facility that permits the distribution of multicast media across separate, independent networks. Such direct peering of multicast media can be scaled more easily to accommodate large numbers of users.
Other features and advantages will be readily apparent from the following detailed description, the accompanying drawings, and the claims.